package com.umeox.watch.moto.dataservice.db.model;

import androidx.room.Entity;
import androidx.room.Ignore;
import androidx.room.PrimaryKey;

@Entity(tableName = AlarmClock.TABLE_NAME)
public class AlarmClock {
    @Ignore
    public static final String TABLE_NAME = "alarm_clock";

    @PrimaryKey(autoGenerate = true)
    public long _id;
    /**
     * 字段含义：
     * 1. alarmId == 0 表示该闹钟是手表本地设置
     * 2. alarmId>0 && alarmId < Integer.MAX_VALUE，表示该闹钟是服务端下发
     * 3. alarmId == Integer.MAX_VALUE表示为稍后提醒闹钟（响铃完要做删除操作）
     */

    public long alarmId;//服务端下发的闹钟ID

    public String alarmName;

    public String alarmTime;//闹钟时间（24小时制）

    public int repeatFlag;//0:不重复(当天)，1：按周

    /**
     * 重复周期参数表示（仅按周重复有效），例1100011，表示每周按星期天，星期一，星期五，星期六计算
     */

    public String repeatExpression;

    public int ringType;//0：默认铃声（暂设置为0）

    /**
     * 闹钟开关
     * 0：关闭
     * 1：打开
     */

    public int state;
    /**
     * 当 ringType=[0]时，对应标记系统铃声，默认值0表示默认系统铃声<br/>当 ringType=[1，2]时，从网络下载指定地址铃声
     */

    public String ringSrc;//0：默认图标

    /**
     * 闹钟具体时间戳
     */

    public long alarmTimeInMillis;

    @Override
    public String toString() {
        return "AlarmClock{" +
                "_id=" + _id +
                ", alarmId=" + alarmId +
                ", alarmName='" + alarmName + '\'' +
                ", alarmTime='" + alarmTime + '\'' +
                ", repeatFlag=" + repeatFlag +
                ", repeatExpression='" + repeatExpression + '\'' +
                ", ringType=" + ringType +
                ", state=" + state +
                ", ringSrc='" + ringSrc + '\'' +
                ", alarmTimeInMillis='" + alarmTimeInMillis + '\'' +
                '}';
    }
}
